Client devices such as personal computers (PCs) capable of network connection have become widespread. Along with the widespread use of devices, the network population of the Internet is increasing. Various services using the Internet have recently been developed for network users, and entertainment services such as games are also provided.
One of the services for network users is a multiuser online network game such as MMORPG (Massively Multiplayer Online Role-Playing Game). In a multiuser online network game, a user connects his/her client device to a server that provides the game, thereby doing match-up play or team play with another user who uses another client device connected to the server.
In a general multiuser online network game, each client device sends/receives data necessary for game rendering to/from the server. The client device performs rendering processing using the received data necessary for rendering and presents the generated game screen to a display device connected to the client device, thereby providing the game screen to the user. Information the user has input by operating an input interface is sent to the server and used for calculation processing in the server or transmitted to another client device connected to the server.
However, some network games that cause a client device to perform rendering processing require a user to use a PC having sufficient rendering performance or a dedicated game device. For this reason, the number of users of a network game (one content) depends on the performance of the client device required by the content. A high-performance device is expensive, as a matter of course, and the number of users who can own the device is limited. That is, it is difficult to increase the number of users of a game that requires high rendering performance, for example, a game that provides beautiful graphics.
In recent years, however, there are also provided games playable by a user without depending on the processing capability, such as rendering performance, of a client device. In a game such as is described in International Publication No. 2009/138878, a server acquires the information of an operation caused in a client device and provides, to the client device, a game screen obtained by performing rendering processing using the information.
In a case where a server performs rendering processing such as in the previously described International Publication No. 2009/138878, for example, an embodiment is considered in which main processing excluding rendering processing is performed on a client device, and processing concerning rendering is caused to be processed by a server. Specifically, the client device can acquire a game screen by using a rendering capability that the server provides as needed in the course of the main processing.
As one form of achieving this kind of embodiment, a method may be considered in which a function concerning rendering processing that the server provides is used by calling the function in the main processing of the client device. However, a method of providing to a function a handler including a pointer to an object as a callback as with a conventional callback function could not be used across different devices as in the game system of International Publication No. 2009/138878. This is because each device uses an independent memory space, and a pointer to an object in one device's memory space cannot be used in the memory space of another device.